Sound Bit-Precise Numerical Domains
نویسندگان
چکیده
This paper tackles the challenge of creating a numerical abstract domain that can identify affine-inequality invariants while handling overflow in arithmetic operations over bit-vector data-types. The paper describes the design and implementation of a class of new abstract domains, called the Bit-Vector-Sound, Finite-Disjunctive (BVSFD) domains. We introduce a framework that takes an abstract domain A that is sound with respect to mathematical integers and creates an abstract domain BVS(A) whose operations and abstract transformers are sound with respect to machine integers. We also describe how to create abstract transformers for BVS(A) that are sound with respect to machine arithmetic. The abstract transformers make use of an operation WRAP(av, v)—where av ∈ A and v is a set of program variables—which performs wraparound in av for the variables in v. To reduce the loss of precision from WRAP, we use finite disjunctions of BVS(A) values. The constructor of finite-disjunctive domains, FDk(·), is parameterized by k, the maximum number of disjunctions allowed. We instantiate the BVS(FDk) framework using the abstract domain of polyhedra and octagons. Our experiments show that the analysis can prove 25% of the assertions in the SVCOMP loop benchmarks with k = 6, and 88% of the array-bounds checks in the SVCOMP array benchmarks with k = 4.
منابع مشابه
Seminar: Aktuelle Themen aus der Theorie der Programmierung Numerical Domains A Practical Construction for Decomposing Numerical Abstract Domains
Domains Gagandeep Singh, Markus Püschel, Martin Vechev Numerical abstract domains such as Polyhedra, Octahedron, Octagon, Interval, and others are an essential component of static program analysis. The choice of domain offers a performance/precision tradeoff ranging from cheap and imprecise (Interval) to expensive and precise (Polyhedra). Recently, significant speedups were achieved for Octagon...
متن کاملSynthesizing Safe Bit-Precise Invariants
Bit-precise software verification is an important and difficult problem. While there has been an amazing progress in SAT solving, Satisfiability Modulo Theory of Bit Vectors, and bit-precise Bounded Model Checking, proving bit-precise safety, i.e. synthesizing a safe inductive invariant, remains a challenge. Although the problem is decidable and is reducible to propositional safety by bit-blast...
متن کاملA Modular Methodology for Automatic Static Parametric WCET Analysis
In order to overcome some of the inherent pessimism of traditional static analysis, we propose a method for parametric WCET analysis expressing the WorstCase Execution Time (WCET) of a program as an expression in terms of the input data of a program. Besides giving more information about the execution time behaviour of the program, this also has benefits in component based development where reu...
متن کاملFrom Array Domains to Abstract Interpretation Under Store-Buffer-Based Memory Models
We address the problem of verifying concurrent programs under store-buffer-based weakly consistent memory models, such as TSO or PSO. Using the abstract interpretation framework, we adapt existing domains for arrays to model store buffers and obtain a sound abstraction of program states (including the case of programs with infinite state space) parameterised by a numerical domain. Whereas the u...
متن کاملWeakly Relational Numerical Abstract Domains
Interpretation Abstract Interpretation: General theory of sound approximations of semantics [Cousot78]. Numerical Abstract Domain: • computer-representable set D of abstract values, together with: • a concretisation: γ: D → P(V → I), • a partial order: ⊑, ⊥, ⊤, • sound, effective abstract transfer functions {| I |}: ({| I |} ◦ γ)(X ) ⊆ (γ ◦ {| I |})(X ), a sound, effective abstract union ∪: γ(X...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2017